@InCollection{GuerraAnic:2015:AcQuSo,
author = "Guerra, Eduardo Martins and Aniche, Mauricio",
title = "Achieving quality on software design through test-driven
development",
booktitle = "Software quality assurance in large scale and complex
software-intensive systems",
publisher = "Elsevier",
year = "2015",
editor = "Mistrik, I. and Soley, R. M. and Grundy, J. and Tekinerdogan, B.",
pages = "201--220",
address = "Waltham, USA",
keywords = "Test driven development, software.",
abstract = "Test-driven development (TDD) is a technique for developing and
designing software where tests are created before production code
in short cycles. There is some discussion in the software
engineering community on whether TDD can really be used to achieve
software quality. Some experiments were conducted in the last
years comparing development by using TDD with one creating tests
after the production code. However, these experiments always have
some threats to validity that prevent researchers from reaching a
final answer about its effects. This chapter, instead of trying to
prove that TDD is more effective than creating tests after,
investigates projects where TDD was successfully used, and
presents recurrent and common practices applied to its context. A
common mistake is to believe that just by creating tests before
production code will make the application design just happens. As
with any other technique, TDD is not a silver bullet, and while it
certainly helps to achieve some desirable characteristics in
software, such as decoupling and separation of concerns, other
practices should complement its usage, especially for architecture
and design coherence. In this chapter, we dive deep in TDD
practice and how to perform it to achieve quality in software
design. We also present techniques that should be used to setup a
foundation to start TDD in project and to refine the design after
it is applied.",
affiliation = "{Instituto Nacional de Pesquisas Espaciais (INPE)}",
isbn = "9780128023013",
label = "lattes: 3413978291577451 1 GuerraAnic:2015:AcQuSo",
language = "pt",
targetfile = "1_guerra3.pdf",
urlaccessdate = "27 abr. 2024"
}